
function CountSetBits(param0)
	local myvar_2 = 0
	local myvar_3 = 1
	local myvar_4 = 16
	local myvar_5 = 1
	for myvar_3=1, myvar_4, myvar_5 do 
		if (BitwiseAnd(param0, 1) ~= 0) then
		myvar_2 = myvar_2 + 1
	end
	local myvar_8 = 1
	myvar_6 = BitShiftRight(param0, myvar_8)
	param0 = myvar_6
	end
	return myvar_2
end


function CalculateTurnOnOffCount(param0, param1)
	myvar_2 = param1["getPersonData"](param1, PersonData["Attraction Traits 1"])
	myvar_3 = param1["getPersonData"](param1, PersonData["Attraction Traits 2"])
	myvar_4 = param1["getPersonData"](param1, PersonData["Attraction Traits 3"])
	myvar_5 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Ons 1"]), myvar_2)
	myvar_6 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Ons 2"]), myvar_3)
	myvar_7 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Ons 3"]), myvar_4)
	myvar_8 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Offs 1"]), myvar_2)
	myvar_9 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Offs 2"]), myvar_3)
	myvar_10 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Offs 3"]), myvar_4)
	local myvar_11 = 0
	local myvar_12 = 0
	myvar_11 = (CountSetBits(myvar_8) + CountSetBits(myvar_9)) + CountSetBits(myvar_10)
	myvar_12 = (CountSetBits(myvar_5) + CountSetBits(myvar_6)) + CountSetBits(myvar_7)
	SetTemp(0, myvar_12)
	local myvar_14 = 1
	SetTemp(myvar_14, myvar_11)
	myvar_14 = myvar_11
	return myvar_12, myvar_14
end


function GetPersonalityDifferencePoints(param0, param1)
	local myvar_3 = 277
	local myvar_4 = 41
	myvar_2 = GetConstant(myvar_3, myvar_4)
	myvar_2 = myvar_2 / 5
	myvar_3 = 500 / myvar_2
		if (param0 < 0) then
			if (param1 < 0) then
			param0 = param0 * -1
			param1 = param1 * -1
			param0 = param0 - param1
				if (param0 < 0) then
				param0 = param0 * -1
			end
			myvar_4 = param0 / myvar_3
			param0 = myvar_2 - myvar_4
				if (param0 < 0) then
				local param0 = 0
			end
			return param0
		else
				if (0 < param0) then
					if (0 < param1) then
					param0 = param0 - param1
						if (param0 < 0) then
						param0 = param0 * -1
					end
					myvar_4 = param0 / myvar_3
					param0 = myvar_2 - myvar_4
						if (param0 < 0) then
						local param0 = 0
					end
					return param0
				else
						if (param0 < 0) then
						param0 = param0 * -1
					end
						if (param1 < 0) then
						param1 = param1 * -1
					end
					myvar_4 = param1 / myvar_3
					myvar_4 = 0 - myvar_4
					myvar_4 = myvar_4 - (param0 / myvar_3)
						if (myvar_4 < -myvar_2) then
						myvar_4 = -myvar_2
					end
					return myvar_4
				end
			end
		end
	end
end


function CalculateTurnOnOffScore(param0, param1)
	myvar_2 = param1["getPersonData"](param1, PersonData["Attraction Traits 1"])
	myvar_3 = param1["getPersonData"](param1, PersonData["Attraction Traits 2"])
	myvar_4 = param1["getPersonData"](param1, PersonData["Attraction Traits 3"])
	myvar_5 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Ons 1"]), myvar_2)
	myvar_6 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Ons 2"]), myvar_3)
	myvar_7 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Ons 3"]), myvar_4)
	myvar_8 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Offs 1"]), myvar_2)
	myvar_9 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Offs 2"]), myvar_3)
	myvar_10 = BitwiseAnd(param0["getPersonData"](param0, PersonData["Attraction Turn Offs 3"]), myvar_4)
	local myvar_11 = 0
	myvar_11 = myvar_11 + (((CountSetBits(myvar_8) + CountSetBits(myvar_9)) + CountSetBits(myvar_10)) * GetConstant(277, 43))
	myvar_12 = CountSetBits(myvar_5)
	myvar_12 = myvar_12 + CountSetBits(myvar_6)
	myvar_12 = myvar_12 + CountSetBits(myvar_7)
	local myvar_14 = 277
	local myvar_15 = 42
	myvar_13 = GetConstant(myvar_14, myvar_15)
	myvar_12 = myvar_12 * myvar_13
	myvar_11 = myvar_11 + myvar_12
	return myvar_11
end


function GetSecondaryAspiration(param0)
	local myvar_1 = 0
	myvar_2 = Inventory["new"](Inventory["kTypeNeighbor"], param0)
	local myvar_5 = 1406175625
	myvar_3 = myvar_2["getTokensByGUID"](myvar_2, myvar_5)
	myvar_5 = myvar_3
	myvar_4,myvar_5,myvar_6,myvar_7 = pairs(myvar_5)
	for myvar_6, myvar_7 in myvar_4 do 
		if (myvar_7 ~= nil) then
		local myvar_10 = 1
		return {R8}({R9}, ..., {R10}); //TAILCALL
		return 
	end
	end
	return myvar_1
end

